package comportamientos;

import com.uqbar.arkanoid.ArkanoidScene;
import com.uqbar.arkanoid.Vector2D;
import com.uqbar.componentes.Pelota;

public class ChoqueATecho implements PelotaRule {

	@Override
	public boolean mustApply(Pelota pelota, Vector2D nuevaPosicion,	ArkanoidScene scene) {
		
		return nuevaPosicion.getY() <= 0;
	}

	@Override
	public void apply(Pelota pelota, Vector2D nuevaPosicion, ArkanoidScene scene) {
		
		this.invertirY(pelota);
		pelota.setY(this.newY(pelota, nuevaPosicion, scene));
		pelota.setX(nuevaPosicion.getX());
	}

	protected void invertirY(Pelota pelota) {
		pelota.setDireccion(new Vector2D(pelota.getDireccion().getX(), -pelota.getDireccion().getY()));
	}
	
	protected double newY(Pelota pelota, Vector2D nuevaPosicion, ArkanoidScene scene) {
		
		return 0;
	}
	
}
